home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / RAN4.DEM < prev    next >
Text File  |  1991-04-29  |  1KB  |  61 lines

  1. PROGRAM d7r12(input,output);
  2. (* driver for routine RAN4 *)
  3. CONST
  4.    npt=50;
  5. TYPE
  6.    gl64array = ARRAY [1..64] OF integer;
  7.    gl56array = ARRAY [1..56] OF integer;
  8.    gl48array = ARRAY [1..48] OF integer;
  9.    gl32array = ARRAY [1..32] OF integer;
  10.    glnparray = ARRAY [1..npt] OF real;
  11.    gl65reals = ARRAY [1..65] OF real;
  12. VAR
  13.    glnewkey : integer;
  14.    glinp,glkey,ip,ipm : gl64array;
  15.    glpow : gl65reals;
  16.    glicd,ipc1 : gl56array;
  17.    ave,vrnce : real;
  18.    idum,j : integer;
  19.    y : glnparray;
  20.    ipc2,iet : gl48array;
  21.    ipp : gl32array;
  22.    is : ARRAY [1..16,1..4,1..8] OF integer;
  23.    ibin : ARRAY [1..4,1..16] OF integer;
  24.    ksflg,cyflg,desflg : boolean;
  25.  
  26. (*$I MODFILE.PAS *)
  27. (*$I AVEVAR.PAS *)
  28.  
  29. (*$I DESKS.PAS *)
  30.  
  31. (*$I DES.PAS *)
  32.  
  33. (*$I RAN4.PAS *)
  34.  
  35. BEGIN
  36.    ksflg := true;
  37.    cyflg := true;
  38.    desflg := true;
  39.    idum := -123;
  40.    ave := 0.0;
  41.    writeln('First 10 Random Numbers with idum = ',idum:5);
  42.    writeln;
  43.    writeln('#':4,'RAN4':11);
  44.    FOR j := 1 to 10 DO y[j] := ran4(idum);
  45.    FOR j := 1 to 10 DO writeln(j:4,y[j]:12:6);
  46.    writeln;
  47.    writeln('Average and Variance of Next ',npt:3);
  48.    FOR j := 1 to npt DO BEGIN
  49.       y[j] := ran4(idum)
  50.    END;
  51.    avevar(y,npt,ave,vrnce);
  52.    writeln;
  53.    writeln('Average: ',ave:10:4);
  54.    writeln('Variance:',vrnce:10:4);
  55.    writeln;
  56.    writeln('Expected Result for an Infinite Sample:');
  57.    writeln;
  58.    writeln('Average: ',0.5:10:4);
  59.    writeln('Variance:',1.0/12.0:10:4)
  60. END.
  61.